The coding according to the invention is adapted especially for the transmission and/or storage of digital signals such as audiofrequency signals (speech, music or other).
The present invention pertains more particularly to waveform coding of ADPCM (for “Adaptive Differential Pulse Code Modulation”) coding type and especially to coding of ADPCM type with embedded codes making it possible to deliver quantization indices with scalable binary train.
The general principle of embedded-codes ADPCM coding/decoding specified by recommendation ITU-T G.722 or ITU-T G.727 is such as described with reference to FIGS. 1 and 2.
FIG. 1 thus represents an embedded-codes coder of ADPCM type.
It comprises:                a prediction module 110 making it possible to give the prediction of the signal xPB(n) on the basis of the previous samples of the quantized error signal eQB(n′)=yIBB(n′)v(n′)n′=n−1, . . . , n−NZ, where v(n′) is the scale factor, and of the reconstructed signal rB(n′)n′=n−1, . . . , n−NP where n is the current instant.        a subtraction module 120 which deducts from the input signal x(n) its prediction xPB(n) to obtain a prediction error signal denoted e(n).        a quantization module 130 QB+K for the error signal which receives as input the error signal e(n) so as to give quantization indices IB+K(n) consisting of B+K bits. The quantization module QB+K is of the embedded-codes type, that is to say it comprises a core quantizer with B bits and quantizers with B+k k=1, . . . , K bits which are embedded on the core quantizer.        
In the case of the ITU-T G.722 standard, the decision levels and the reconstruction levels of the quantizers QB, QB+1, QB+2 for B=4 are defined by tables IV and VI of the overview article describing the G.722 standard by X. Maitre. “7 kHz audio coding within 64 kbit/s”, IEEE Journal on Selected Areas in Communication, Vol. 6-2, February 1988.
The quantization index IB+K(n) of B+K bits at the output of the quantization module QB+K transmitted via the transmission channel 140 to the decoder such as described with reference to FIG. 2.
The coder also comprises:                a module 150 for deleting the K low-order bits of the index IB+K(n) so as to give a low bitrate index IB(n);        an inverse quantization module 160 (QB)−1 to give as output a quantized error signal eQB(n)=yIBB(n)v(n) on B bits;        an adaptation module 170 QAdapt for the quantizers and inverse quantizers to give a level control parameter v(n) also called scale factor, for the following instant;        an addition module 180 for adding the prediction xPB(n) to the quantized error signal to give the low bitrate reconstructed signal rB(n);        an adaptation module 190 PAdapt for the prediction module based on the quantized error signal on B bits eQB(n) and on the signal eQB(n) filtered by 1+Pz(z).        
It may be observed that in FIG. 1 the dotted part referenced 155 represents the low bitrate local decoder which contains the predictors 165 and 175 and the inverse quantizer 160. This local decoder thus makes it possible to adapt the inverse quantizer at 170 on the basis of the low bitrate index IB(n) and to adapt the predictors 165 and 175 on the basis of the reconstructed low bitrate data.
This part is found identically in the embedded-codes ADPCM decoder such as described with reference to FIG. 2.
The embedded-codes ADPCM decoder of FIG. 2 receives as input the indices I′B+K arising from the transmission channel 140, a version of IB+K that may possibly be disturbed by binary errors, and carries out an inverse quantization by the inverse quantization module 210 (QB)−1 of bitrate B bits per sample to obtain the signal e′QB(n)=y′I′BB(n)v′(n). The symbol “′” indicates a value received at the decoder which may possibly differ from that transmitted by the coder on account of transmission errors.
The output signal r′B(n) for B bits will be equal to the sum of the prediction of the signal and of the output of the inverse quantizer with B bits. This part 255 of the decoder is identical to the low bitrate local decoder 155 of FIG. 1.
Employing the bitrate indicator mode and the selector 220, the decoder can enhance the signal restored.
Indeed if mode indicates that B+1 bits have been transmitted, the output will be equal to the sum of the prediction xPB(n) and of the output of the inverse quantizer 230 with B+1 bits y′IB+1B+1(n)v′(n).
If mode indicates that B+2 bits have been transmitted, then the output will be equal to the sum of the prediction xPB(n) and of the output of the inverse quantizer 240 with B+2 bits y′IB+2B+2(n)v′(n).
By using the z-transform notation, the following may be written for this looped structure:RB+k(z)=X(Z)+QB+k(z)
by defining the quantization noise with B+k bits QB+k(z) by:QB+k(z)=EQB+k(z)−E(z)
The embedded-codes ADPCM coding of the ITU-T G.722 standard (hereinafter named G.722) carries out a coding of the signals in broadband which are defined with a minimum bandwidth of [50-7000 Hz] and sampled at 16 kHz. The G.722 coding is an ADPCM coding of each of the two sub-bands of the signal [50-4000 Hz] and [4000-7000 Hz] obtained by decomposition of the signal by quadrature mirror filters. The low band is coded by embedded-codes ADPCM coding on 6, 5 and 4 bits while the high band is coded by an ADPCM coder of 2 bits per sample. The total bitrate will be 64, 56 or 48 bit/s according to the number of bits used for decoding the low band.
This coding was first used in ISDN (Integrated Services Digital Network) and then in applications of audio coding on IP networks.
By way of example, in the G.722 standard, the 8 bits are apportioned in the following manner such as represented in FIG. 3:
2 bits Ih1 and Ih2 for the high band
6 bits IL1 IL2 IL3 IL4 IL5 IL6 for the low band.
Bits IL5 and IL6 may be “stolen” or replaced with data and constitute the low band enhancement bits. Bits IL1 IL2 IL3 IL4 constitute the low band core bits.
Thus, a frame of a signal quantized according to the G.722 standard consists of quantization indices coded on 8, 7 or 6 bits. The frequency of transmission of the index being 8 kHz, the bitrate will be 64, 56 or 48 kbit/s.
For a quantizer with a large number of levels, the spectrum of the quantization noise will be relatively flat as shown by FIG. 4. The spectrum of the signal is also represented in FIG. 4 (here a voiced signal block). This spectrum has a large dynamic swing (˜40 dB). It may be seen that in the low-energy zones, the noise is very close to the signal and is therefore no longer necessarily masked. It may then become audible in these regions, essentially in the zone of frequencies [2000-2500 Hz] in FIG. 4.
A shaping of the coding noise is therefore necessary. A coding noise shaping adapted to an embedded-codes coding would be moreover desirable.
A noise shaping technique for a coding of PCM (for “Pulse Code Modulation”) type with embedded codes is described in the recommendation ITU-T G.711.1 “Wideband embedded extension for G.711 pulse code modulation” or “G.711.1: A wideband extension to ITU-T G.711”. Y. Hiwasaki, S. Sasaki, H. Ohmuro, T. Mori, J. Seong, M. S. Lee, B. Kövesi, S. Ragot, J.-L. Garcia, C. Marro, L. M., J. Xu, V. Malenovsky, J. Lapierre, R. Lefebvre, EUSIPCO, Lausanne, 2008.
This recommendation thus describes a coding with shaping of the coding noise for a core bitrate coding. A perceptual filter for shaping the coding noise is calculated on the basis of the past decoded signals, arising from an inverse core quantizer. A core bitrate local decoder therefore makes it possible to calculate the noise shaping filter. Thus, at the decoder, it is possible to calculate this noise shaping filter on the basis of the core bitrate decoded signals.
A quantizer delivering enhancement bits is used at the coder.
The decoder receiving the core binary stream and the enhancement bits, calculates the filter for shaping the coding noise in the same manner as at the coder on the basis of the core bitrate decoded signal and applies this filter to the output signal from the inverse quantizer of the enhancement bits, the shaped high-bitrate signal being obtained by adding the filtered signal to the decoded core signal.
The shaping of the noise thus enhances the perceptual quality of the core bitrate signal. It offers a limited enhancement in quality in respect of the enhancement bits. Indeed, the shaping of the coding noise is not performed in respect of the coding of the enhancement bits, the input of the quantizer being the same for the core quantization as for the enhanced quantization.
The decoder must then delete a resulting spurious component through suitably adapted filtering, when the enhancement bits are decoded in addition to the core bits.
The additional calculation of a filter at the decoder increases the complexity of the decoder.
This technique is not used in the already existing standard scalable decoders of G.722 or G.727 decoder type. There therefore exists a requirement to enhance the quality of the signals whatever the bitrate while remaining compatible with existing standard scalable decoders.